const express = require('express');
const app = express();
const port = process.env.PORT || 3000;

// 根路径返回说明文档
app.get('/', (req, res) => {
  res.send(`
    <h1>时间戳微服务</h1>
    <p>使用示例：</p>
    <ul>
      <li>/api/timestamp/2023-10-05</li>
      <li>/api/timestamp/1696454400000</li>
      <li>/api/timestamp/ (当前时间)</li>
    </ul>
  `);
});

// 时间戳 API
app.get('/api/timestamp/:date?', (req, res) => {
  const input = req.params.date;
  
  // 无参数时返回当前时间
  if (!input) {
    const now = new Date();
    return res.json({
      unix: now.getTime(),
      utc: now.toUTCString()
    });
  }

  // 处理时间戳或日期字符串
  const date = !isNaN(input) 
    ? new Date(parseInt(input)) 
    : new Date(input);

  // 验证日期有效性
  if (isNaN(date.getTime())) {
    res.json({ error: 'Invalid Date' });
  } else {
    res.json({
      unix: date.getTime(),
      utc: date.toUTCString()
    });
  }
});

// 启动服务器
app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});